package com.levy.contronller.jvm.bytecode;

/**
 *
 * 现代JVM在执行Java代码的时候，通常都会将解释执行与编译执行二者结合起来进行
 *
 * 所谓解释执行：通过解释器来读取字节码，遇到相应的指令就去执行该指令
 * 所谓编译执行： 就是通过即时编译器（Just In Time,JIT）将字节码转换为本地机器码
 *              来执行，现代JVM会根据代码热点来生成相应的本地机器码。
 *
 *  基于栈的指令集与级域寄存器的指令集之间的关系：
 *  1. JVM执行指令时所采用的方式是基于栈的指令集
 *  2. 基于栈的指令集主要的操作有入栈和出栈两种
 *  3. 基于栈的指令集优势在于他可以在不同平台之间移植，而基于寄存器的指令集是与硬件架构紧密
 *      相关的，无法做到可移植
 *  4. 基于栈的指令集的缺点在于完成相同的操作，指令数量通常要比基于寄存器的指令集要多；基于栈的指令集
 *      是在内存中进行操作的。而基于寄存器的指令集是直接由CPU来执行的，他是在高速缓冲区中进行执行的，
 *      速度要快很多。虽然虚拟机也可以采用一些优化手段，但总体来说，基于栈的指令集的执行速度要慢一些
 *
 */
public class MyTest8 {

    public int caclulate(){
        int a = 1;
        int b=2;
        int c= 3;
        int d =4;
        int result = (a+b-c)*d;
        return result;
    }
}
